package aceim.app.screen.pano;
import java.util.List;
import aceim.app.MainActivity;
import aceim.app.R;
import aceim.app.view.page.Page;
import aceim.app.widgets.pageselector.PageAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
class PanoPageAdapter extends PageAdapter {
private int mPageWidth;
public PanoPageAdapter(MainActivity activity, OnClickListener tabClickListener, List<Page> pages) {
super(activity, tabClickListener, activity.getThemesManager().getViewResources().getTabItemLayout(), pages);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Page oldPage = (Page) (convertView != null ? convertView.getTag() : null);
View view;
if (convertView != null) {
view = convertView;
} else {
view = LayoutInflater.from(getContext()).inflate(R.layout.screen_pano_item, null);
View tab = super.getView(position, convertView, parent);
((FrameLayout)view.findViewById(R.id.indicator)).addView(tab, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
view.setLayoutParams(new LayoutParams(mPageWidth, LayoutParams.MATCH_PARENT));
}
Page page = getItem(position);
view.setTag(page);
fillWithImageAndTitle(view, page);
if (oldPage == null || oldPage != page) {
FrameLayout container = (FrameLayout) view.findViewWithTag(getContext().getString(android.R.string.untitled));
container.removeAllViews();
container.addView(page.onCreateView(LayoutInflater.from(getContext()), null, null));
}
return view;
}
/**
* @return the mPageWidth
*/
public int getPageWidth() {
return mPageWidth;
}
/**
* @param mPageWidth the mPageWidth to set
*/
public void setPageWidth(int mPageWidth) {
this.mPageWidth = mPageWidth;
}
}